1. Technical Field
The present invention provides a method and system for testing a software application interfacing with multiple external software applications in a simulated test environment.
2. Related Art
Organizations use multiple software applications to carry out their day-to-day activities. These organizations include large scale software applications that manage huge volumes of data, simple tools that are used to create documents, mailing and collaboration software, work flow management systems, etc. These diverse software applications may interact with each other to exchange data. There also exist software applications that interact with other software applications which may or may not reside within the same organization boundary. These applications may be critical to the functioning of an organization and any outages in these applications may result in financial losses.
To keep pace with the ever-changing business needs of an organization, software applications need to be constantly enhanced, which results in frequent code changes. Each time code is updated, applications need to be tested to ensure that not only that the impacted parts of the application work as expected, but also that no defects have been introduced in the applications due to side effects, which may be ensured by extensively testing the applications before the applications are deployed for use in the production systems.
Testing applications that have interfaces with multiple other applications has many challenges, such as getting access to all the interfacing applications, many of which may not even reside within the same organization. Though it is desirable to test an application with all its interfacing applications before the application is released to the production system, this may be difficult to achieve during the early testing cycles and during development. For example, during development, developers may require access to the interfacing applications to execute their unit test cases. In the lack of such access, developers are forced to release untested code to the testing systems. This results in larger number of defects being detected during testing and hence increasing the number of test cycles.
Thus, there is a need for a method and system for testing software applications having multiple interfacing applications in a manner that overcomes a lack of access of the interfacing applications.